let http = require('http')

let server = http.createServer()


// 内部通过 tcp来传输 socket 套接字   socket 是一个双工流
server.on('request', (req, res)=>{
  console.log('请求来了')
  console.log(req.method) // 请求方法 大写的
  console.log(req.url) // 请求路径
  console.log(req.httpVersion) // http协议版本
  // 请求头 
  console.log(req.headers)
  // 请求体
  let arr = []
  req.on('data', (chunk)=>{
    arr.push(chunk)
  })
  req.on('end', ()=>{
    console.log(Buffer.concat(arr).toString())
    res.statusCode = 200
    res.sendDate = false
    res.setHeader('a', 1) // 设置头
    res.end('welcome')
  })
})

server.listen(3000, ()=>{
  console.log('server start')
})
let port = 3000
server.on('error', (err)=>{
  // 这边可以做端口重启  如果是端口被暂用的话
  port+=1
  server.listen(port, ()=>{})
})